package com.example.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.time.LocalDateTime;

@Schema(description = "规则引擎 - 校验历史明细 Response VO")
@Data
public class RuleValidatorLogDetailRespVO {

    @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "29232")
    private Long id;

    @Schema(description = "历史id", requiredMode = Schema.RequiredMode.REQUIRED, example = "hello")
    private String logId;

    @Schema(description = "校验id", requiredMode = Schema.RequiredMode.REQUIRED, example = "10657")
    private Long validatorId;

    @Schema(description = "校验结果 1-成功 0-失败 null-空")
    private Integer validatorResult;

    @Schema(description = "行序号")
    private Integer rowNum;

    @Schema(description = "原始数据")
    private String rawData;

    @Schema(description = "准入规则节点类型", example = "2")
    private String admitType;

    @Schema(description = "准入规则表达式")
    private String admitExpression;

    @Schema(description = "准入结果 1-成功 0-失败")
    private Integer admitResult;

    @Schema(description = "取值结果")
    private String valueResult;

    @Schema(description = "取值表达式")
    private String valueExpression;

    @Schema(description = "校验规则节点类型", example = "2")
    private String validateType;

    @Schema(description = "校验规则表达式")
    private String validateExpression;

    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
    private LocalDateTime createTime;

    @Schema(description = "校验名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张龙")
    private String validatorName;

    @Schema(description = "数据处理类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
    private String validatorType;

    @Schema(description = "校验分类")
    private String category;

    @Schema(description = "校验错误提示")
    private String errorMsg;

    @Schema(description = "校验描述", example = "大卖")
    private String description;

    @Schema(description = "关联准入规则id", requiredMode = Schema.RequiredMode.REQUIRED, example = "30389")
    private Long admitRuleId;

    @Schema(description = "关联准入规则名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "马汉")
    private String admitRuleName;

    @Schema(description = "关联校验规则id", requiredMode = Schema.RequiredMode.REQUIRED, example = "14301")
    private Long validateRuleId;

    @Schema(description = "关联校验规则名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张龙")
    private String validateRuleName;
}